.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 22px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;

  .input {
    flex-grow: 1;
    border: 0;
    padding: 4px 11px;
    height: 32px;
    background: none;
    outline: 0;
    font-size: 14px;
    color: #333;

    &::placeholder {
      color: #ddd;
    }

    &:-webkit-autofill {
      box-shadow: 0 0 0px 1000px #fff inset !important;
      text-fill-color: #333;
      -webkit-text-fill-color: #333;
    }
  }

  .input-prefix {
    margin-left: 10px;
  }

  .input-suffix {
    margin-right: 10px;
  }

  .input-error-info {
    position: absolute;
    top: 100%;
    left: 0;
    font-size: 14px;
    color: #f5222d;
  }

  &:hover {
    border-color: #40a9ff;
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
  }

  &.input-error {
    border-color: #f5222d;

    &:hover {
      box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2);
    }
  }

  &.disabled {
    color: rgba(0, 0, 0, 0.25);
    background-color: #f5f5f5;
    cursor: not-allowed;

    &:hover {
      border-color: #d9d9d9;
      box-shadow: none;
    }

    .input {
      color: rgba(0, 0, 0, 0.25);
    }
  }
}
